// 环境变量使用示例
import { ENV_CONFIG, config, APP_TITLE, DEBUG } from '@/config/env'

// 示例1: 在组件中使用环境变量
export const useEnvInComponent = () => {
  console.log('当前API地址:', ENV_CONFIG.API_BASE_URL)
  console.log('应用标题:', APP_TITLE)
  console.log('调试模式:', DEBUG)
  
  return {
    apiUrl: ENV_CONFIG.API_BASE_URL,
    appTitle: APP_TITLE,
    isDebug: DEBUG
  }
}

// 示例2: 在API请求中使用环境变量
export const createApiUrl = (endpoint) => {
  return `${ENV_CONFIG.API_BASE_URL}${endpoint}`
}

// 示例3: 根据环境显示不同的信息
export const getEnvironmentInfo = () => {
  if (DEBUG) {
    return {
      environment: '开发环境',
      apiUrl: ENV_CONFIG.API_BASE_URL,
      features: ['调试模式', '详细日志', '热重载']
    }
  } else {
    return {
      environment: '生产环境',
      apiUrl: ENV_CONFIG.API_BASE_URL,
      features: ['性能优化', '错误监控', 'CDN加速']
    }
  }
}

// 示例4: 环境变量配置对象
export const envConfig = {
  // API配置
  api: {
    baseUrl: ENV_CONFIG.API_BASE_URL,
    timeout: config.VITE_REQUEST_TIMEOUT || 10000,
    retryTimes: 3
  },
  
  // 应用配置
  app: {
    title: APP_TITLE,
    version: config.VITE_APP_VERSION,
    description: config.VITE_APP_DESCRIPTION
  },
  
  // 功能开关
  features: {
    debug: DEBUG,
    mockData: DEBUG, // 开发环境启用模拟数据
    analytics: !DEBUG // 生产环境启用统计
  }
}

// 示例5: 环境变量验证
export const validateEnvConfig = () => {
  const required = ['VITE_API_BASE_URL', 'VITE_APP_TITLE']
  const missing = required.filter(key => !config[key])
  
  if (missing.length > 0) {
    console.warn('⚠️ 缺少必要的环境变量:', missing)
    return false
  }
  
  console.log('✅ 环境变量配置完整')
  return true
} 